--[[--
- @Copyright (C), 2016-, sixiong.
- @Name index.lua
- @Author sixiong
- @Version 1.0
- @Date: 2016年6月11日下午22:06:41
- @Description 登陆控制器
- @Class
- @Function List
- @History <author> <time> <version > <desc>
            sixiong 2016年6月11日下午22:06:41  1.0  第一次建立该文件
--]]
local login = controller.new();
 
--[[
- @desc   登陆页面
- @param  nil
- return  boole
--]]
function login:index()  
       self.render('zh_cn/login/login.html', {title = "登陆页面",  data = "ahello"}); 
end

--[[
- @desc   处理登陆
- @param  int       mobile  手机号
- @param  string    passwd  密码
- return  json
--]]
function login:tologin()
     -- assert(_POST['mobile'], '必须要有手机号');   -- ngx.quote_sql_str()
     if not _POST['mobile'] or not _POST['passwd'] then
          return self.json(2003);
     end 
     
     local m = model.__get("user");  --模型调用 
     local status = m:checkpasswd(_POST['mobile'], _POST['passwd']); --验证
      
     if  status then
         boot.set_password(status['uid'] .. '-' .. status['passkey']);
         return self.json(0); 
     end
     
     return self.json(2003);
end
 
--[[
- @desc   注册页面
- @param  nil
- return  boole
--]]
function login:register()
       self.render('zh_cn/login/register.html', {title = "注册页面",  data = "ahello"}); 
end
   
--[[
- @desc   处理注册
- @param  nil
- return  boole
--]]
function login:toregister()  
     if not _POST['mobile'] or not _POST['passwd'] or not _POST['nickname'] then
          return self.json(2003);
     end 
      
     local m = model.__get("user");  --模型调用 
     local status = m:add(_POST['mobile'], _POST['nickname'],  _POST['passwd']); --验证
     if  status <= 0 then
         return self.json(1000);
     end
     
     return self.json(0);
end  
  
--删除密码(退出)
function login:logout()
   local s = boot.logout();
   self.redirect('/login/index');
end
  
--登陆后门设置密码
function login:setpasswd()
   local s = boot.set_password('6-383050');
   ngx.say(s);
end
 
function login:test() 
       local wheres = {uid=22, name='王', datetime='1452000000',status=3, visible=nil}; 
        
        --table.sort(wheres);      这里的排序有第二个参数  即比较函数
        --table.insert(wheres, "type", "888888");   --注意这里的插入只能是 索引key 
       
       for k, v in pairs(wheres) do  
          if not v then
             table.remove(wheres, k); 
          end 
            
          dump(k .. ' => '.. v );
       end   
end 
 
 
--mysql 插入随机数
function login:rand()
      --随机种子
      math.randomseed(tostring(os.time() .. (os.clock())*100 ):reverse():sub(1, 6)); 
      
      local m = model.__get("order");  
	  for i=1, 5 do 
	    -- ngx.say(math.random(100000, 999999));   
	    -- ngx.say(os.clock().."<br/>"); 
	        m.add(m, math.random(100000, 999999), math.random(100000, 999999)); 
	  end 
      return nil;
end
 
 
 
--redis 插入随机数
function login:rds()
       --随机种子
       math.randomseed(tostring(os.time() .. (os.clock())*100 ):reverse():sub(1, 6)); 
      
       local m = model.__get("test");  
       -- m.hmset({a = 5, b = 6, c = 9});
       -- dump(m.hgetall());
       -- m.set();
        ngx.say(m.incr());
end

 
function login:up()
    self.render('zh_cn/login/up.html', {title = "登陆页面",  data = "ahello"}); 
end

  
function login:upload() 
    local up =  vendor("upload");  --加载扩展库 .
    up();
end

return login;
